print portal: use request path utilities
authorMatthias Clasen <mclasen@redhat.com>
Thu, 30 Aug 2018 17:12:18 +0000 (13:12 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 31 Aug 2018 02:53:36 +0000 (22:53 -0400)
Less code duplication, more cookies!

gtk/gtkprintoperation-portal.c

index ded550262b6ef0fb881a9c813718c8b0ea79051f..fa4a058efd01161b8a92f28b879ff738b7694228 100644 (file)
@@ -561,17 +561,9 @@ call_prepare_print (GtkPrintOperation *op,
   GtkPrintOperationPrivate *priv = op->priv;
   GVariantBuilder opt_builder;
   char *token;
-  char *sender;
-  int i;
 
-  token = g_strdup_printf ("gtk%d", g_random_int_range (0, G_MAXINT));
-  sender = g_strdup (g_dbus_connection_get_unique_name (g_dbus_proxy_get_connection (portal->proxy)) + 1);
-  for (i = 0; sender[i]; i++)
-    if (sender[i] == '.')
-      sender[i] = '_';
-
-  portal->prepare_print_handle = g_strconcat (PORTAL_OBJECT_PATH "/request/", sender, "/", token, NULL);
-  g_free (sender);
+  portal->prepare_print_handle =
+      gtk_get_portal_request_path (g_dbus_proxy_get_connection (portal->proxy), &token);
 
   portal->response_signal_id =
     g_dbus_connection_signal_subscribe (g_dbus_proxy_get_connection (G_DBUS_PROXY (portal->proxy)),